% Ejercicio "Tokens de C"
\section*{\fbox{\theejercicio} - Tokens de C}

Escribir un programa LEX que reconozca e imprima las palabras clave (keywords) que ``encuentre'' en un programa escrito en C.

% Solución del ejercicio
\subsection*{SOLUCI\'ON}

\begin{verbatim}
%%

auto            |
break           |
case            |
char            |
const           |
continue        |
default         |
do              |
double          |
else            |
enum            |
extern          |
float           |
for             |
goto            |
if              |
inline          |
int             |
long            |
register        |
restrict        |
return          |
short           |
signed          |
sizeof          |
static          |
struct          |
switch          |
typedef         |
union           |
unsigned        |
void            |
volatile        |
while           |
_Bool           |
_Complex        |
_Imaginary      { ECHO; }
.|\n            { ; /* ignorar el resto */ }

%%
\end{verbatim}


NOTA:  El objetivo de este ejercicio es que el alumno se familiarice con los documentos oficiales que definen todos los aspectos de los lenguajes de programaci\'on que, por su amplia difusi\'on, han sido sometidos a procesos de revisi\'on por parte de organismos nacionales o internacionales de estandarizaci\'on. No debe olvidarse que la Inform\'atica, como ingenier\'{\i}a que es, se encuentra sometida a regularizaci\'on y sus diferentes etapas de producci\'on son revisadas por distintos organismos oficiales de car\'acter nacional e internacional.

Este es el caso del lenguaje C, cuya especificaci\'on est\'andar viene dada por la American National Standards Institute y que difunde el lenguaje bajo el nombre de ANSI C. Este est\'andar tambi\'en ha sido reconocido por la ISO (International Organization for Standardization) y sus caracter\'{\i}sticas pueden encontrarse muy f\'acilmente en internet. La soluci\'on que hemos proporcionado atiende al documento de referencia ISO/IEC 9899:TC3. Desde el punto de vista de la estandarizaci\'on en Espa\~na, es la Agencia Espa\~nola de Normalizaci\'on (AENOR) quien se encarga de ratificar los acuerdos internacionales; en el caso que nos ocupa, la norma ISO/IEC 9899 ha sido ratificada con la referencia EN 29899/AC.